form_lu Interface

public interface form_lu

Module Procedures

private subroutine form_lu_all(lu, ipvt, u, p, err)

Extracts the L and U matrices from the condensed [L\U] storage format used by the lu_factor.

Arguments

Type IntentOptional Attributes Name
real(kind=real64), intent(inout), dimension(:,:) :: lu

On input, the N-by-N matrix as output by lu_factor. On output, the N-by-N lower triangular matrix L.

integer(kind=int32), intent(in), dimension(:) :: ipvt

The N-element pivot array as output by lu_factor.

real(kind=real64), intent(out), dimension(:,:) :: u

An N-by-N matrix where the U matrix will be written.

real(kind=real64), intent(out), dimension(:,:) :: p

An N-by-N matrix where the row permutation matrix will be written.

class(errors), intent(inout), optional, target :: err

The error object to be updated.

private subroutine form_lu_all_cmplx(lu, ipvt, u, p, err)

Extracts the L and U matrices from the condensed [L\U] storage format used by the lu_factor.

Arguments

Type IntentOptional Attributes Name
complex(kind=real64), intent(inout), dimension(:,:) :: lu

On input, the N-by-N matrix as output by lu_factor. On output, the N-by-N lower triangular matrix L.

integer(kind=int32), intent(in), dimension(:) :: ipvt

The N-element pivot array as output by lu_factor.

complex(kind=real64), intent(out), dimension(:,:) :: u

An N-by-N matrix where the U matrix will be written.

real(kind=real64), intent(out), dimension(:,:) :: p

An N-by-N matrix where the row permutation matrix will be written.

class(errors), intent(inout), optional, target :: err

The error object to be updated.

private subroutine form_lu_only(lu, u, err)

Extracts the L and U matrices from the condensed [L\U] storage format used by the lu_factor.

Arguments

Type IntentOptional Attributes Name
real(kind=real64), intent(inout), dimension(:,:) :: lu

On input, the N-by-N matrix as output by lu_factor. On output, the N-by-N lower triangular matrix L.

real(kind=real64), intent(out), dimension(:,:) :: u

An N-by-N matrix where the U matrix will be written.

class(errors), intent(inout), optional, target :: err

The error object to be updated.

private subroutine form_lu_only_cmplx(lu, u, err)

Extracts the L and U matrices from the condensed [L\U] storage format used by the lu_factor.

Arguments

Type IntentOptional Attributes Name
complex(kind=real64), intent(inout), dimension(:,:) :: lu

On input, the N-by-N matrix as output by lu_factor. On output, the N-by-N lower triangular matrix L.

complex(kind=real64), intent(out), dimension(:,:) :: u

An N-by-N matrix where the U matrix will be written.

class(errors), intent(inout), optional, target :: err

The error object to be updated.